package persistencia.entidades;

import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.validation.constraints.NotNull;

/**
 * @author Maciel Melo
 * @since 09/11/2013
 * @see macielmelo.eti.br
 */
@SuppressWarnings("javadoc")
@Entity(name = "tratamento")
public class Tratamento {

	@Id
	@SequenceGenerator(sequenceName = "public.seq_tratamento", name = "seq_tratamento", allocationSize = 1)
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_tratamento")
	private Long id;

	@NotNull
	private String descricao;

	private String acessorios;

	private String material;
	@Column(name = "tempo_dias")
	private int tempoDias;
	@Column(name = "tipo_tratamento")
	private String tipoTratamento;

	// --------------------Relacoes --------------//
	@ManyToOne
	private Patologia patologia;

	@ManyToOne
	private Historico historico;

	@OneToMany(mappedBy = "tratamento")
	private Set<Resultado> resultado;

	// ---------------------Acessores--------------//

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public String getAcessorios() {
		return acessorios;
	}

	public void setAcessorios(String acessorios) {
		this.acessorios = acessorios;
	}

	public String getMaterial() {
		return material;
	}

	public void setMaterial(String material) {
		this.material = material;
	}

	public int getTempoDias() {
		return tempoDias;
	}

	public void setTempoDias(int tempoDias) {
		this.tempoDias = tempoDias;
	}

	public String getTipoTratamento() {
		return tipoTratamento;
	}

	public void setTipoTratamento(String tipoTratamento) {
		this.tipoTratamento = tipoTratamento;
	}

	public Patologia getPatologia() {
		return patologia;
	}

	public void setPatologia(Patologia patologia) {
		this.patologia = patologia;
	}

	public Historico getHistorico() {
		return historico;
	}

	public void setHistorico(Historico historico) {
		this.historico = historico;
	}

	public Set<Resultado> getResultado() {
		return resultado;
	}

	public void setResultado(Set<Resultado> resultado) {
		this.resultado = resultado;
	}
}
